﻿using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Web;

namespace Traviesuras.Models
{
    public class clsPersona
    {
        public int id_persona { get; set; }
        public string identificacion { get; set; }
        public byte[] imagen { get; set; }
        public string nombre { get; set; }
        public string nombres_completos { get; set; }
        public string apellido { get; set; }
        public string email { get; set; }
        public string telefono { get; set; }
        public string direccion { get; set; }
        public string estado { get; set; }
    }
    public class clsUsuario
    {
        public int id_usuario { get; set; }
        public int persona { get; set; }
        public int tipo_usuario { get; set; }
        public string nombre_usuario { get; set; }
        public byte[] contrasena { get; set; }
        public string contrasenaString { get; set; }
        public string contrasenaString2 { get; set; }
        public string recontrasenaString2 { get; set; }
        public string estado { get; set; }
        public clsPersona clsPersona { get; set; }
    }
    public class clsTipo_usuario
    {
        public int id_tipo_usuario { get; set; }
        public string descripcion { get; set; }
    }
    public class clsDocumento_cab
    {
        public int id_doc_cab { get; set; }
        public string cod_documento { get; set; }
        public string tipo_doc { get; set; }
        public string fecha { get; set; }
        public string descripcion { get; set; }
        public string error { get; set; }
        //cliente int es el que va en la base
        public clsPersona clsPersona { get; set; }

        //public int cliente { get; set; }

        //public string nombre_cliente { get; set; }
        //public string identificacion_cliente { get; set; }
        //public string email { get; set; }
        //public string telefono { get; set; }
        //public string direccion { get; set; }
        //
        public decimal sub_total { get; set; }
        public decimal descuento { get; set; }
        public decimal iva { get; set; }
        public decimal total { get; set; }
        public DateTime fecha_creacion { get; set; }
        public DateTime fecha_modificacion { get; set; }
        public string usuario_crea { get; set; }
        public string usuario_modifica { get; set; }
        public string estado { get; set; }
        public List<clsDocumento_det> lstDet { get; set; }
        public List<clsProducto> lstProd { get; set; }
        public List<clsPersona> lstPersona{ get; set; }

        public string JScombo { get; set; }
        public string JSlstDet { get; set; }
        public clsDocumento_cab()
        {
            fecha = DateTime.Now.Month + "/" + DateTime.Now.Day + "/" + DateTime.Now.Year;
            cod_documento = "";
            id_doc_cab = 0;
            sub_total = 0;
            descuento = 0;
            iva = 0;
            total = 0;
            error = "";
            clsPersona = new clsPersona();
        }
    }
    public class clsDocumento_det
    {
        public int id_doc_cab { get; set; }
        public int id_doc_det { get; set; }
        public int id_producto { get; set; }
        public decimal precio { get; set; }
    }
    public class clsProducto
    {
        public int id_producto { get; set; }
        public string nombre { get; set; }
        public int cantidad { get; set; }
        [DataType(DataType.Currency)]
        public decimal precio { get; set; }
        public string tipo_producto { get; set; }
        public string estado { get; set; }
        public List<clsProducto> lstProducto { get; set; }    
        public clsProducto()
        {
            precio = 0;
            cantidad = 0;
            id_producto = 0;
            lstProducto = new List<clsProducto>();
        }
    }
    public class clsProducto_combo
    {
        public int id_producto_combo { get; set; }
        public int id_producto { get; set; }
    }
    public class JScombo
    {
        public int value { get; set; }
        public string text { get; set; }
    }
    public class clsMenu
    {
        public int id_menu { get; set; }
        public int? id_sub_menu { get; set; }
        public string nombre { get; set; }
        public string direccion { get; set; }
        public int tipo_usuario { get; set; }
        public string estado { get; set; }
        public string visible { get; set; }
        public List<clsMenu> lstMenu { get; set; }

        public clsMenu()
        {
        }
    }
    public class clsMenuxTipoUsuario
    {
        public int id_menu { get; set; }
        public int tipo_usuario { get; set; }
        public string visible { get; set; }
        public clsMenuxTipoUsuario()
        {
            id_menu = 0;
            tipo_usuario = 0;
        }
    }
    public class clsEvento
    {
        public int id_evento { get; set; }
        public string descripcion { get; set; }
        public string tipo_evento { get; set; }
        public int id_usuario { get; set; }
        public DateTime? fecha_creacion { get; set; }
        public DateTime? fecha_desde { get; set; }
        public DateTime? fecha_fin { get; set; }
        public string estado { get; set; }
        public string nombre_usuario { get; set; }
        public clsEvento()
        {
        }
    }

}